package com.menu.system.service.impl;

import com.menu.system.domain.MenuProductInfo;
import com.menu.system.mapper.MenuProductInfoMapper;
import com.menu.system.service.IMenuProductInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 角色和部门关联Service业务层处理
 *
 * @author ruoyi
 * @date 2024-06-07
 */
@Service
public class MenuProductInfoServiceImpl implements IMenuProductInfoService {
    @Autowired
    private MenuProductInfoMapper menuProductInfoMapper;

    /**
     * 查询角色和部门关联
     *
     * @param productId 角色和部门关联主键
     * @return 角色和部门关联
     */
    @Override
    public List<MenuProductInfo> selectMenuProductInfoByProductId(Long productId) {
        return menuProductInfoMapper.selectMenuProductInfoByProductId(productId);
    }

    /**
     * 查询角色和部门关联列表
     *
     * @param menuProductInfo 角色和部门关联
     * @return 角色和部门关联
     */
    @Override
    public List<MenuProductInfo> selectMenuProductInfoList(MenuProductInfo menuProductInfo) {
        return menuProductInfoMapper.selectMenuProductInfoList(menuProductInfo);
    }

    /**
     * 新增角色和部门关联
     *
     * @param menuProductInfo 角色和部门关联
     * @return 结果
     */
    @Override
    public int insertMenuProductInfo(MenuProductInfo menuProductInfo) {
        return menuProductInfoMapper.insertMenuProductInfo(menuProductInfo);
    }

    /**
     * 修改角色和部门关联
     *
     * @param menuProductInfo 角色和部门关联
     * @return 结果
     */
    @Override
    public int updateMenuProductInfo(MenuProductInfo menuProductInfo) {
        return menuProductInfoMapper.updateMenuProductInfo(menuProductInfo);
    }

    /**
     * 批量删除角色和部门关联
     *
     * @param productIds 需要删除的角色和部门关联主键
     * @return 结果
     */
    @Override
    public int deleteMenuProductInfoByProductIds(Long[] productIds) {
        return menuProductInfoMapper.deleteMenuProductInfoByProductIds(productIds);
    }

    /**
     * 删除角色和部门关联信息
     *
     * @param productId 角色和部门关联主键
     * @return 结果
     */
    @Override
    public int deleteMenuProductInfoByProductId(Long productId) {
        return menuProductInfoMapper.deleteMenuProductInfoByProductId(productId);
    }

    @Override
    public List<Long> selectMenuProductInfoids(Long productId) {
        return menuProductInfoMapper.selectMenuProductInfoids(productId);
    }

    @Override
    public List<Long> selectMenuProductInfoRoles(Long productId) {
        return menuProductInfoMapper.selectMenuProductInfoRoles(productId);
    }
}
